Mac06 - the POSIX compatible OS for Macintosh

1. What is Mac06?
"Mac06" is a lightweight environment resembling the UNIX programming and user interface. It is built on top of MacOS and is therefore virtually hardware independent within the Macintosh computer series, as device drivers already existing are used. Mac06 uses fat binaries or 680x0 code and therefore should run on all Macs (I assume, at least a 68020 is required and MacOS 7.0).
Not much effort has been spent to port all those useful commands found on large scale UNIX systems like sed, awk, cron, ... but there are already many ideas to extend the system.
The main emphasis was put on to make the system running with full kernel support. Therefore, system call performance is not optimized. The copy command cp for example copies data with about 30kbyte/second.
The file system completely relies on the MacOS HFS and, therefore, transferring data between Mac06 and MacOS is very simple.
Programs can be compiled using Symantec C++/THINK C. In this environment, even the MacToolbox (dialogs, windows etc) could be used within Mac06 executables. It is possible to start any Macintosh application from within the Mac06 system if you have file access.
The overlay structure to MacOS has its drawbacks, of course. There is no memory protection and processes are not preemptive.

2. Installation
Download the packed and binhexed files (for example from http://ourworld.compuserve.com/homepages/Nikolaus_Schaller/mac06.html). You may have to drop the file onto 'Binary Pump' to set the appropriate creator and type. Expand the package using Dehqx or StuffitExpander.
To run, launch the "mac06" application found in the root directory and the Mac06 kernel will start. A console window will open showing  boot messages and greeting messages from the kernel. In this window, you can enter shell commands (/usr/bin/sh -i).

3. Operation
The kernel will run a root shell (indicated by the prompt '# ') connected to the console terminal window. Just type shell commands as usual. But be aware, that not all shell commands are completely implemented and tested. Also, for/case/if constructs are missing.

4. Useful Hints
a) You can copy MacOS applications (68k or PPC or fat binaries) to the Mac06 file system and they will be recognized as executables by the shell.  To run them in the background, add an ampersand (&) to the command. You can try to kill these applications - they will receive a 'quit' apple event ('aevt').

b) Using Think C or Symantec C++ for PowerPC, you can write MacOS applications running under Mac06. To do this, create an empty project, add the appropriate libraries from /usr/lib  and the source files of your application. Make sure to add appropriate aliases to Symantec C so that /usr/include files are recognized. Compile and save the application file within a directory of the search path ($PATH). An example is given in /home/demo/demo/src. By the way, you can copy "hello.1" as "@1" to the project models folder of the compiler.

5. About Bugs
The software is still under development. Therefore, there are certainly bugs and missing functions in all areas of the system. Some are known and some are not. If you run across a bug, decide yourself to send a mail (mailto:hns@computer.org) to the author. Most bugs will be fixed in the next release and may result in some new...

6. Legal notices
Please note the COPYRIGHT and LICENCE files. The software is not public domain.
The current release is distributed as freeware, but donations to support further development are welcome.

Mac06©1997,98 by HNS/DSITRI hns@computer.org